
// 注意vue3中文件结束都是已ts结尾的
// 注意区分路由组件根一本组件的在项目中位置摆放  路由组件一般放在view,或者page   其他组件一般放在componenrs
import { createApp } from 'vue'    //引入createApp用于创建应用花盆

import { createPinia } from 'pinia'   //导入数据公共存储
import App from './App.vue'          //根 包括路由组件 导入自己定义的组件
import router from './router'      //引入路由器 这里使用的是相对路径  导入自己定义的路由规则

// import { persist } from 'pinia-plugin-persist'
const app = createApp(App)   //拆解原始搭建项目自动生成的代码格式  定义变量app接受 然后借助mount挂载
app.use(router)  //使用路由器
const pinia = createPinia()    //指定该函数并且使用  最好在createApp之后
app.use(pinia)   

// pinia.use(persist)
app.mount('#app')         //挂载到根中index。html      vue三最好使用更高版本的node   vue3拥抱ts  
//1  注册全局组件与vue2相同
//2  原型上添加方法  与vue2不同 vue3有自己的玩发
//3  注册全局指令  与vue2一样
//4  有一个顶层async   用awite 没有寄机会使用async时，可以不使用
//5  他有一个异步组件  Supsense的概念  解释：本质就是当你导入的组件有异步任务的时候，他可能加载确实，因此使用的时候,需要用Supsense包裹组件名称,使用这个函数包裹  有两个状态  异步任务完成前  异步任务完成后
//6   Teleport  传送文解决css把指定盒子赛到指定位置的问题